[INFO] cloning repository https://github.com/oeb25/sql-fmt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/oeb25/sql-fmt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foeb25%2Fsql-fmt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foeb25%2Fsql-fmt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 051b2c866c417aaf7321f641c493263a2cf77db5
[INFO] fixing oeb25/sql-fmt against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foeb25%2Fsql-fmt" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/oeb25/sql-fmt
[INFO] finished tweaking git repo https://github.com/oeb25/sql-fmt
[INFO] tweaked toml for git repo https://github.com/oeb25/sql-fmt written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/oeb25/sql-fmt on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/oeb25/sql-fmt already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `sql-fmt` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3
[INFO] running `Command { std: "docker" "start" "c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `sql-fmt` (manifest) generated 1 warning
[INFO] [stderr]     Checking either v1.4.0
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling rayon-core v1.3.0
[INFO] [stderr]     Checking num_cpus v1.7.0
[INFO] [stderr]     Checking rand v0.3.18
[INFO] [stderr]     Checking lazy_static v0.2.10
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling pest v1.0.0-beta.16
[INFO] [stderr]     Checking coco v0.1.1
[INFO] [stderr]    Compiling syn v0.10.8
[INFO] [stderr]     Checking rayon v0.9.0
[INFO] [stderr]    Compiling pest_derive v1.0.0-beta.16
[INFO] [stderr]     Checking sql-fmt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed src/format.rs (7 fixes)
[INFO] [stderr]        Fixed src/lib.rs (1 fix)
[INFO] [stderr]        Fixed src/parser.rs (2 fixes)
[INFO] [stderr]    Migrating src/main.rs from 2015 edition to 2018
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.33s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.10.8
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: sql-fmt v0.1.0 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr]     Checking sql-fmt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]  --> src/format.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::{Ref, RefCell, RefMut};
[INFO] [stdout]   |                 ^^^           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `w`
[INFO] [stdout]   --> src/format.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | macro_rules! w {
[INFO] [stdout]    |              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `match_default_bindings` has been stable since 1.26.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(match_default_bindings)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/parser.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       Ok(match t.as_rule() {
[INFO] [stdout]     |  _____^^_-
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     unreachable call
[INFO] [stdout] 313 | |       Rule::insert_conflict_action_update_item => unimplemented!(), // TODO
[INFO] [stdout] 314 | |       _ => unparseable!(t)
[INFO] [stdout] 315 | |     })
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]  --> src/format.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::{Ref, RefCell, RefMut};
[INFO] [stdout]   |                 ^^^           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `w`
[INFO] [stdout]   --> src/format.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | macro_rules! w {
[INFO] [stdout]    |              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `match_default_bindings` has been stable since 1.26.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(match_default_bindings)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let mut old_inp = &mut inp;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let mut inp = t.into_inner();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/parser.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       Ok(match t.as_rule() {
[INFO] [stdout]     |  _____^^_-
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     unreachable call
[INFO] [stdout] 313 | |       Rule::insert_conflict_action_update_item => unimplemented!(), // TODO
[INFO] [stdout] 314 | |       _ => unparseable!(t)
[INFO] [stdout] 315 | |     })
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:781:15
[INFO] [stdout]     |
[INFO] [stdout] 781 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/parser.rs:778:10
[INFO] [stdout]     |
[INFO] [stdout] 778 |     let (t, limit) = match t {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `align_table_types` is never read
[INFO] [stdout]   --> src/format.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Options {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |   align_table_types: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Options` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `uppercase_keywords` and `lowercase_keywords` are never used
[INFO] [stdout]    --> src/format.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl<T: std::io::Write> Context<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn uppercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn lowercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inners` is never used
[INFO] [stdout]    --> src/format.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Context<Vec<u8>> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 129 |   pub fn inners(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Full`, `Partial`, and `Simple` are never constructed
[INFO] [stdout]   --> src/ast.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum ColumnConstraintReferencesMatch {
[INFO] [stdout]    |          ------------------------------- variants in this enum
[INFO] [stdout] 64 |   Full,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 65 |   Partial,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 66 |   Simple,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColumnConstraintReferencesMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AsDef` is never constructed
[INFO] [stdout]    --> src/ast.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub enum CreateFunctionBody {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 115 |   AsDef(String),
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunctionBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `As` is never constructed
[INFO] [stdout]    --> src/ast.rs:223:3
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub enum Operator {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 223 |   As,
[INFO] [stdout]     |   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `if_not_exsists` is never read
[INFO] [stdout]    --> src/ast.rs:253:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct CreateTable {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 252 |   pub name: TableIdent,
[INFO] [stdout] 253 |   pub if_not_exsists: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateTable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `or_replace` is never read
[INFO] [stdout]    --> src/ast.rs:290:7
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct CreateFunction {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 289 |   pub name: TableIdent,
[INFO] [stdout] 290 |   pub or_replace: bool,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Default` is never constructed
[INFO] [stdout]    --> src/ast.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub enum InsertValues {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] 322 |   Default,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InsertValues` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         std::fs::File::open(name).map(|mut file| {
[INFO] [stdout] 31 | |             file.read_to_string(&mut d).unwrap();
[INFO] [stdout] 32 | |
[INFO] [stdout] 33 | |             let a = prettify(&d, None).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |             debug_assert_eq!(a, prettify(&a, None).unwrap());
[INFO] [stdout] 37 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let _ = std::fs::File::open(name).map(|mut file| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         std::fs::File::open(name).map(|mut file| {
[INFO] [stdout] 31 | |             file.read_to_string(&mut d).unwrap();
[INFO] [stdout] 32 | |
[INFO] [stdout] 33 | |             let a = prettify(&d, None).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |             debug_assert_eq!(a, prettify(&a, None).unwrap());
[INFO] [stdout] 37 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let _ = std::fs::File::open(name).map(|mut file| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let mut old_inp = &mut inp;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let mut inp = t.into_inner();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:781:15
[INFO] [stdout]     |
[INFO] [stdout] 781 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/parser.rs:778:10
[INFO] [stdout]     |
[INFO] [stdout] 778 |     let (t, limit) = match t {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `align_table_types` is never read
[INFO] [stdout]   --> src/format.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Options {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |   align_table_types: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Options` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `uppercase_keywords` and `lowercase_keywords` are never used
[INFO] [stdout]    --> src/format.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl<T: std::io::Write> Context<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn uppercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn lowercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inners` is never used
[INFO] [stdout]    --> src/format.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Context<Vec<u8>> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 129 |   pub fn inners(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Full`, `Partial`, and `Simple` are never constructed
[INFO] [stdout]   --> src/ast.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum ColumnConstraintReferencesMatch {
[INFO] [stdout]    |          ------------------------------- variants in this enum
[INFO] [stdout] 64 |   Full,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 65 |   Partial,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 66 |   Simple,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColumnConstraintReferencesMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AsDef` is never constructed
[INFO] [stdout]    --> src/ast.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub enum CreateFunctionBody {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 115 |   AsDef(String),
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunctionBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `As` is never constructed
[INFO] [stdout]    --> src/ast.rs:223:3
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub enum Operator {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 223 |   As,
[INFO] [stdout]     |   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `if_not_exsists` is never read
[INFO] [stdout]    --> src/ast.rs:253:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct CreateTable {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 252 |   pub name: TableIdent,
[INFO] [stdout] 253 |   pub if_not_exsists: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateTable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `or_replace` is never read
[INFO] [stdout]    --> src/ast.rs:290:7
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct CreateFunction {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 289 |   pub name: TableIdent,
[INFO] [stdout] 290 |   pub or_replace: bool,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Default` is never constructed
[INFO] [stdout]    --> src/ast.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub enum InsertValues {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] 322 |   Default,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InsertValues` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.26s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.10.8
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr]     Checking sql-fmt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.57s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.10.8
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: sql-fmt v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking sql-fmt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]  --> src/format.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::{Ref, RefCell, RefMut};
[INFO] [stdout]   |                 ^^^           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `w`
[INFO] [stdout]   --> src/format.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | macro_rules! w {
[INFO] [stdout]    |              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `match_default_bindings` has been stable since 1.26.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(match_default_bindings)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]  --> src/format.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::{Ref, RefCell, RefMut};
[INFO] [stdout]   |                 ^^^           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `w`
[INFO] [stdout]   --> src/format.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | macro_rules! w {
[INFO] [stdout]    |              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `match_default_bindings` has been stable since 1.26.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(match_default_bindings)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/parser.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       Ok(match t.as_rule() {
[INFO] [stdout]     |  _____^^_-
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     unreachable call
[INFO] [stdout] 313 | |       Rule::insert_conflict_action_update_item => unimplemented!(), // TODO
[INFO] [stdout] 314 | |       _ => unparseable!(t)
[INFO] [stdout] 315 | |     })
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/parser.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       Ok(match t.as_rule() {
[INFO] [stdout]     |  _____^^_-
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     unreachable call
[INFO] [stdout] 313 | |       Rule::insert_conflict_action_update_item => unimplemented!(), // TODO
[INFO] [stdout] 314 | |       _ => unparseable!(t)
[INFO] [stdout] 315 | |     })
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let mut old_inp = &mut inp;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let mut inp = t.into_inner();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:781:15
[INFO] [stdout]     |
[INFO] [stdout] 781 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/parser.rs:778:10
[INFO] [stdout]     |
[INFO] [stdout] 778 |     let (t, limit) = match t {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `align_table_types` is never read
[INFO] [stdout]   --> src/format.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Options {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |   align_table_types: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Options` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `uppercase_keywords` and `lowercase_keywords` are never used
[INFO] [stdout]    --> src/format.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl<T: std::io::Write> Context<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn uppercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn lowercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inners` is never used
[INFO] [stdout]    --> src/format.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Context<Vec<u8>> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 129 |   pub fn inners(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Full`, `Partial`, and `Simple` are never constructed
[INFO] [stdout]   --> src/ast.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum ColumnConstraintReferencesMatch {
[INFO] [stdout]    |          ------------------------------- variants in this enum
[INFO] [stdout] 64 |   Full,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 65 |   Partial,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 66 |   Simple,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColumnConstraintReferencesMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AsDef` is never constructed
[INFO] [stdout]    --> src/ast.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub enum CreateFunctionBody {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 115 |   AsDef(String),
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunctionBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `As` is never constructed
[INFO] [stdout]    --> src/ast.rs:223:3
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub enum Operator {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 223 |   As,
[INFO] [stdout]     |   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `if_not_exsists` is never read
[INFO] [stdout]    --> src/ast.rs:253:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct CreateTable {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 252 |   pub name: TableIdent,
[INFO] [stdout] 253 |   pub if_not_exsists: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateTable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `or_replace` is never read
[INFO] [stdout]    --> src/ast.rs:290:7
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct CreateFunction {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 289 |   pub name: TableIdent,
[INFO] [stdout] 290 |   pub or_replace: bool,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Default` is never constructed
[INFO] [stdout]    --> src/ast.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub enum InsertValues {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] 322 |   Default,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InsertValues` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let mut old_inp = &mut inp;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let mut inp = t.into_inner();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:781:15
[INFO] [stdout]     |
[INFO] [stdout] 781 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/parser.rs:778:10
[INFO] [stdout]     |
[INFO] [stdout] 778 |     let (t, limit) = match t {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `align_table_types` is never read
[INFO] [stdout]   --> src/format.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Options {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |   align_table_types: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Options` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `uppercase_keywords` and `lowercase_keywords` are never used
[INFO] [stdout]    --> src/format.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl<T: std::io::Write> Context<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn uppercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn lowercase_keywords(&self) -> Context<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inners` is never used
[INFO] [stdout]    --> src/format.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Context<Vec<u8>> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 129 |   pub fn inners(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Full`, `Partial`, and `Simple` are never constructed
[INFO] [stdout]   --> src/ast.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum ColumnConstraintReferencesMatch {
[INFO] [stdout]    |          ------------------------------- variants in this enum
[INFO] [stdout] 64 |   Full,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 65 |   Partial,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 66 |   Simple,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColumnConstraintReferencesMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AsDef` is never constructed
[INFO] [stdout]    --> src/ast.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub enum CreateFunctionBody {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 115 |   AsDef(String),
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunctionBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `As` is never constructed
[INFO] [stdout]    --> src/ast.rs:223:3
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub enum Operator {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 223 |   As,
[INFO] [stdout]     |   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `if_not_exsists` is never read
[INFO] [stdout]    --> src/ast.rs:253:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct CreateTable {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 252 |   pub name: TableIdent,
[INFO] [stdout] 253 |   pub if_not_exsists: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateTable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `or_replace` is never read
[INFO] [stdout]    --> src/ast.rs:290:7
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct CreateFunction {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 289 |   pub name: TableIdent,
[INFO] [stdout] 290 |   pub or_replace: bool,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Default` is never constructed
[INFO] [stdout]    --> src/ast.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub enum InsertValues {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] 322 |   Default,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InsertValues` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         std::fs::File::open(name).map(|mut file| {
[INFO] [stdout] 31 | |             file.read_to_string(&mut d).unwrap();
[INFO] [stdout] 32 | |
[INFO] [stdout] 33 | |             let a = prettify(&d, None).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |             debug_assert_eq!(a, prettify(&a, None).unwrap());
[INFO] [stdout] 37 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let _ = std::fs::File::open(name).map(|mut file| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         std::fs::File::open(name).map(|mut file| {
[INFO] [stdout] 31 | |             file.read_to_string(&mut d).unwrap();
[INFO] [stdout] 32 | |
[INFO] [stdout] 33 | |             let a = prettify(&d, None).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |             debug_assert_eq!(a, prettify(&a, None).unwrap());
[INFO] [stdout] 37 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let _ = std::fs::File::open(name).map(|mut file| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.13s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.10.8
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr]     Checking sql-fmt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ($fmt:expr) => ({
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]    = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ($fmt:expr_2021) => ({
[INFO] [stdout]    |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `sql_fmt`
[INFO] [stderr]  --> src/format.rs
[INFO] [stderr]   = cause: error[E0409]: variable `s` is bound inconsistently across alternatives separated by `|`
[INFO] [stderr]               --> src/format.rs:164:39
[INFO] [stderr]                |
[INFO] [stderr]            164 |       Var::Raw(s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stderr]                |                - first binding        ^ bound in different ways
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0409`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr, { $( $x:ident => $b:expr )* }) => {
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr_2021, { $( $x:ident => $b:expr )* }) => {
[INFO] [stdout]    |           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr, { $( $x:ident => $b:expr )* }) => {
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr, { $( $x:ident => $b:expr_2021 )* }) => {
[INFO] [stdout]    |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/format.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ($dst:expr, $($arg:tt)*) => {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ($dst:expr_2021, $($arg:tt)*) => {
[INFO] [stdout]    |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:164:16
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:164:7
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 164 -       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout] 164 +       Var::Raw(s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 171 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 171 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 179 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 179 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:256:32
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 256 -       CreateTableField::Column(ref c) => {
[INFO] [stdout] 256 +       CreateTableField::Column(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:265:16
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:265:11
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 265 -           Some(ref constraints) => format!(
[INFO] [stdout] 265 +           Some(constraints) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:281:32
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 281 -       CreateTableField::Unique(ref c) => {
[INFO] [stdout] 281 +       CreateTableField::Unique(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:292:33
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -       CreateTableField::Exclude(ref e) => {
[INFO] [stdout] 292 +       CreateTableField::Exclude(e) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:308:36
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                    ^^^                               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:45
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 308 -         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout] 308 +         (&CreateTableField::Column(a), &CreateTableField::Column(b)) => match (
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 325 -         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout] 325 +         CreateTableField::Column(f) => f.name.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:332:34
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 332 -         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout] 332 +         CreateTableField::Column(f) => f.ttype.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:361:20
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:361:7
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 361 -       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout] 361 +       Limit::Count(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:367:46
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |                                              ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 367 -     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout] 367 +     Expression::Infix(Operator::AndLit, box (a, b)) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:499:7
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 499 -       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout] 499 +       Number::Float(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:500:19
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:500:7
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 500 -       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout] 500 +       Number::Int(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:507:25
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |                         ^^^      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:507:7
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 507 -       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout] 507 +       Expression::Infix(opr, exprs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:513:32
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:513:7
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 513 -       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout] 513 +       Expression::FunctionCall(fncall) => fncall.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:514:23
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:514:7
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 514 -       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout] 514 +       Expression::Ref(r) => r.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:515:26
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:515:7
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 515 -       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout] 515 +       Expression::Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:516:26
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:516:7
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 516 -       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout] 516 +       Expression::String(s) => s.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:517:26
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:517:7
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 517 -       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout] 517 +       Expression::Number(n) => n.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:518:26
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:518:7
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 518 -       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout] 518 +       Expression::Select(sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:519:24
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:519:7
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 519 -       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout] 519 +       Expression::Cast(cast) => cast.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:520:23
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:520:7
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 520 -       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout] 520 +       Expression::Not(expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:526:26
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:526:7
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 526 -       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout] 526 +       Expression::Exists(expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:534:33
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:534:7
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 534 -       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 534 +       ExprOrDefault::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:542:28
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:542:7
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 542 -       InsertValues::Values(ref vs) => format!(
[INFO] [stdout] 542 +       InsertValues::Values(vs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:547:28
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:547:7
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 547 -       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout] 547 +       InsertValues::Select(sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:560:36
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:560:7
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 560 -       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout] 560 +       InsertConflictAction::Update(u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:624:15
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:624:7
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 624 -       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout] 624 +       Default(expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:627:18
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:627:7
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 627 -       References(ref re) => re.format(ctx),
[INFO] [stdout] 627 +       References(re) => re.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:635:29
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:635:7
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 635 -       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 635 +       ExprOrAll::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:675:36
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:675:7
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 675 -       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout] 675 +       CreateFunctionReturns::Table(create_table) => create_table.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:676:36
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:676:7
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 676 -       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout] 676 +       CreateFunctionReturns::Ttype(ttype) => ttype.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:677:36
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:677:7
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 677 -       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout] 677 +       CreateFunctionReturns::SetOf(ttype) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:686:22
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:686:7
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 686 -       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout] 686 +       SqlString::Raw(s) => format!("'{}'", s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:687:31
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |                               ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:687:7
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 687 -       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout] 687 +       SqlString::DollarQuoted(p, s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:696:19
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:696:7
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 696 -       ParsedAsDef(ref doc) => format!(
[INFO] [stdout] 696 +       ParsedAsDef(doc) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:701:16
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:701:7
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 701 -       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout] 701 +       Language(var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:728:19
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:728:7
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 728 -       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 728 +       CreateTable(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:729:20
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:729:7
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 729 -       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 729 +       CreateSchema(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:730:22
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:730:7
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 730 -       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 730 +       CreateFunction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:731:14
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:731:7
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 731 -       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 731 +       Select(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:732:19
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:732:7
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 732 -       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 732 +       Transaction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:733:14
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:733:7
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 733 -       Return(ref ret) => ret.format(ctx),
[INFO] [stdout] 733 +       Return(ret) => ret.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:734:14
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:734:7
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 734 -       Insert(ref i) => i.format(ctx),
[INFO] [stdout] 734 +       Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:735:12
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:735:7
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 735 -       View(ref v) => v.format(ctx),
[INFO] [stdout] 735 +       View(v) => v.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:746:15
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:746:9
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 746 -         Query(ref query) => format!(
[INFO] [stdout] 746 +         Query(query) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:751:20
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:751:9
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 751 -         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 751 +         Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `sql_fmt`
[INFO] [stderr]  --> src/format.rs
[INFO] [stderr]   = cause: error[E0409]: variable `s` is bound inconsistently across alternatives separated by `|`
[INFO] [stderr]               --> src/format.rs:164:39
[INFO] [stderr]                |
[INFO] [stderr]            164 |       Var::Raw(s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stderr]                |                - first binding        ^ bound in different ways
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0409`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ($fmt:expr) => ({
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]    = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ($fmt:expr_2021) => ({
[INFO] [stdout]    |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr, { $( $x:ident => $b:expr )* }) => {
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr_2021, { $( $x:ident => $b:expr )* }) => {
[INFO] [stdout]    |           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr, { $( $x:ident => $b:expr )* }) => {
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 68 |   ($t:expr, { $( $x:ident => $b:expr_2021 )* }) => {
[INFO] [stdout]    |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/format.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ($dst:expr, $($arg:tt)*) => {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ($dst:expr_2021, $($arg:tt)*) => {
[INFO] [stdout]    |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:164:16
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:164:7
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 164 -       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout] 164 +       Var::Raw(s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 171 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 171 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 179 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 179 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:256:32
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 256 -       CreateTableField::Column(ref c) => {
[INFO] [stdout] 256 +       CreateTableField::Column(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:265:16
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:265:11
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 265 -           Some(ref constraints) => format!(
[INFO] [stdout] 265 +           Some(constraints) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:281:32
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 281 -       CreateTableField::Unique(ref c) => {
[INFO] [stdout] 281 +       CreateTableField::Unique(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:292:33
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -       CreateTableField::Exclude(ref e) => {
[INFO] [stdout] 292 +       CreateTableField::Exclude(e) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:308:36
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                    ^^^                               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:45
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 308 -         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout] 308 +         (&CreateTableField::Column(a), &CreateTableField::Column(b)) => match (
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 325 -         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout] 325 +         CreateTableField::Column(f) => f.name.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:332:34
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 332 -         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout] 332 +         CreateTableField::Column(f) => f.ttype.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:361:20
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:361:7
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 361 -       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout] 361 +       Limit::Count(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:367:46
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |                                              ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 367 -     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout] 367 +     Expression::Infix(Operator::AndLit, box (a, b)) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:499:7
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 499 -       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout] 499 +       Number::Float(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:500:19
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:500:7
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 500 -       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout] 500 +       Number::Int(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:507:25
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |                         ^^^      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:507:7
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 507 -       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout] 507 +       Expression::Infix(opr, exprs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:513:32
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:513:7
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 513 -       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout] 513 +       Expression::FunctionCall(fncall) => fncall.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:514:23
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:514:7
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 514 -       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout] 514 +       Expression::Ref(r) => r.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:515:26
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:515:7
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 515 -       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout] 515 +       Expression::Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:516:26
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:516:7
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 516 -       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout] 516 +       Expression::String(s) => s.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:517:26
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:517:7
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 517 -       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout] 517 +       Expression::Number(n) => n.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:518:26
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:518:7
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 518 -       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout] 518 +       Expression::Select(sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:519:24
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:519:7
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 519 -       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout] 519 +       Expression::Cast(cast) => cast.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:520:23
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:520:7
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 520 -       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout] 520 +       Expression::Not(expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:526:26
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:526:7
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 526 -       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout] 526 +       Expression::Exists(expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:534:33
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:534:7
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 534 -       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 534 +       ExprOrDefault::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:542:28
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:542:7
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 542 -       InsertValues::Values(ref vs) => format!(
[INFO] [stdout] 542 +       InsertValues::Values(vs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:547:28
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:547:7
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 547 -       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout] 547 +       InsertValues::Select(sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:560:36
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:560:7
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 560 -       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout] 560 +       InsertConflictAction::Update(u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:624:15
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:624:7
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 624 -       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout] 624 +       Default(expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:627:18
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:627:7
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 627 -       References(ref re) => re.format(ctx),
[INFO] [stdout] 627 +       References(re) => re.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:635:29
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:635:7
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 635 -       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 635 +       ExprOrAll::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:675:36
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:675:7
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 675 -       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout] 675 +       CreateFunctionReturns::Table(create_table) => create_table.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:676:36
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:676:7
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 676 -       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout] 676 +       CreateFunctionReturns::Ttype(ttype) => ttype.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:677:36
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:677:7
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 677 -       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout] 677 +       CreateFunctionReturns::SetOf(ttype) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:686:22
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:686:7
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 686 -       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout] 686 +       SqlString::Raw(s) => format!("'{}'", s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:687:31
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |                               ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:687:7
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 687 -       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout] 687 +       SqlString::DollarQuoted(p, s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:696:19
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:696:7
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 696 -       ParsedAsDef(ref doc) => format!(
[INFO] [stdout] 696 +       ParsedAsDef(doc) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:701:16
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:701:7
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 701 -       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout] 701 +       Language(var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:728:19
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:728:7
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 728 -       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 728 +       CreateTable(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:729:20
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:729:7
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 729 -       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 729 +       CreateSchema(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:730:22
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:730:7
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 730 -       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 730 +       CreateFunction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:731:14
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:731:7
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 731 -       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 731 +       Select(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:732:19
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:732:7
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 732 -       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 732 +       Transaction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:733:14
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:733:7
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 733 -       Return(ref ret) => ret.format(ctx),
[INFO] [stdout] 733 +       Return(ret) => ret.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:734:14
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:734:7
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 734 -       Insert(ref i) => i.format(ctx),
[INFO] [stdout] 734 +       Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:735:12
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:735:7
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 735 -       View(ref v) => v.format(ctx),
[INFO] [stdout] 735 +       View(v) => v.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:746:15
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:746:9
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 746 -         Query(ref query) => format!(
[INFO] [stdout] 746 +         Query(query) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/format.rs:751:20
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:751:9
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 751 -         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 751 +         Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/main.rs (1 fix)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.45s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.10.8
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: sql-fmt v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking sql-fmt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]  --> src/format.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::{Ref, RefCell, RefMut};
[INFO] [stdout]   |                 ^^^           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `w`
[INFO] [stdout]   --> src/format.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | macro_rules! w {
[INFO] [stdout]    |              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `match_default_bindings` has been stable since 1.26.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(match_default_bindings)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]  --> src/format.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::{Ref, RefCell, RefMut};
[INFO] [stdout]   |                 ^^^           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `w`
[INFO] [stdout]   --> src/format.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | macro_rules! w {
[INFO] [stdout]    |              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `match_default_bindings` has been stable since 1.26.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(match_default_bindings)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/parser.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       Ok(match t.as_rule() {
[INFO] [stdout]     |  _____^^_-
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     unreachable call
[INFO] [stdout] 313 | |       Rule::insert_conflict_action_update_item => unimplemented!(), // TODO
[INFO] [stdout] 314 | |       _ => unparseable!(t)
[INFO] [stdout] 315 | |     })
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/parser.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |       Ok(match t.as_rule() {
[INFO] [stdout]     |  _____^^_-
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     unreachable call
[INFO] [stdout] 313 | |       Rule::insert_conflict_action_update_item => unimplemented!(), // TODO
[INFO] [stdout] 314 | |       _ => unparseable!(t)
[INFO] [stdout] 315 | |     })
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let mut old_inp = &mut inp;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let mut inp = t.into_inner();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:781:15
[INFO] [stdout]     |
[INFO] [stdout] 781 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/parser.rs:778:10
[INFO] [stdout]     |
[INFO] [stdout] 778 |     let (t, limit) = match t {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:164:16
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:164:7
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 164 -       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout] 164 +       Var::Raw(s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 171 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 171 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 179 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 179 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:256:32
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 256 -       CreateTableField::Column(ref c) => {
[INFO] [stdout] 256 +       CreateTableField::Column(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:265:16
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:265:11
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 265 -           Some(ref constraints) => format!(
[INFO] [stdout] 265 +           Some(constraints) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:281:32
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 281 -       CreateTableField::Unique(ref c) => {
[INFO] [stdout] 281 +       CreateTableField::Unique(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:292:33
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -       CreateTableField::Exclude(ref e) => {
[INFO] [stdout] 292 +       CreateTableField::Exclude(e) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:308:36
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                    ^^^                               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:45
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 308 -         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout] 308 +         (&CreateTableField::Column(a), &CreateTableField::Column(b)) => match (
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 325 -         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout] 325 +         CreateTableField::Column(f) => f.name.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:332:34
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 332 -         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout] 332 +         CreateTableField::Column(f) => f.ttype.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:361:20
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:361:7
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 361 -       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout] 361 +       Limit::Count(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:367:46
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |                                              ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 367 -     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout] 367 +     Expression::Infix(Operator::AndLit, box (a, b)) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:499:7
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 499 -       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout] 499 +       Number::Float(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:500:19
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:500:7
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 500 -       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout] 500 +       Number::Int(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:507:25
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |                         ^^^      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:507:7
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 507 -       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout] 507 +       Expression::Infix(opr, exprs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:513:32
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:513:7
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 513 -       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout] 513 +       Expression::FunctionCall(fncall) => fncall.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:514:23
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:514:7
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 514 -       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout] 514 +       Expression::Ref(r) => r.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:515:26
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:515:7
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 515 -       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout] 515 +       Expression::Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:516:26
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:516:7
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 516 -       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout] 516 +       Expression::String(s) => s.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:517:26
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:517:7
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 517 -       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout] 517 +       Expression::Number(n) => n.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:518:26
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:518:7
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 518 -       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout] 518 +       Expression::Select(sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:519:24
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:519:7
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 519 -       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout] 519 +       Expression::Cast(cast) => cast.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:520:23
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:520:7
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 520 -       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout] 520 +       Expression::Not(expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:526:26
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:526:7
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 526 -       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout] 526 +       Expression::Exists(expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:534:33
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:534:7
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 534 -       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 534 +       ExprOrDefault::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:542:28
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:542:7
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 542 -       InsertValues::Values(ref vs) => format!(
[INFO] [stdout] 542 +       InsertValues::Values(vs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:547:28
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:547:7
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 547 -       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout] 547 +       InsertValues::Select(sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:560:36
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:560:7
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 560 -       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout] 560 +       InsertConflictAction::Update(u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:624:15
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:624:7
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 624 -       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout] 624 +       Default(expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:627:18
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:627:7
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 627 -       References(ref re) => re.format(ctx),
[INFO] [stdout] 627 +       References(re) => re.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:635:29
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:635:7
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 635 -       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 635 +       ExprOrAll::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:675:36
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:675:7
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 675 -       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout] 675 +       CreateFunctionReturns::Table(create_table) => create_table.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:676:36
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:676:7
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 676 -       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout] 676 +       CreateFunctionReturns::Ttype(ttype) => ttype.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:677:36
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:677:7
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 677 -       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout] 677 +       CreateFunctionReturns::SetOf(ttype) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:686:22
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:686:7
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 686 -       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout] 686 +       SqlString::Raw(s) => format!("'{}'", s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:687:31
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |                               ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:687:7
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 687 -       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout] 687 +       SqlString::DollarQuoted(p, s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:696:19
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:696:7
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 696 -       ParsedAsDef(ref doc) => format!(
[INFO] [stdout] 696 +       ParsedAsDef(doc) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:701:16
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:701:7
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 701 -       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout] 701 +       Language(var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:728:19
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:728:7
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 728 -       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 728 +       CreateTable(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:729:20
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:729:7
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 729 -       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 729 +       CreateSchema(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:730:22
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:730:7
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 730 -       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 730 +       CreateFunction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:731:14
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:731:7
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 731 -       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 731 +       Select(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:732:19
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:732:7
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 732 -       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 732 +       Transaction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:733:14
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:733:7
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 733 -       Return(ref ret) => ret.format(ctx),
[INFO] [stdout] 733 +       Return(ret) => ret.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:734:14
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:734:7
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 734 -       Insert(ref i) => i.format(ctx),
[INFO] [stdout] 734 +       Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:735:12
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:735:7
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 735 -       View(ref v) => v.format(ctx),
[INFO] [stdout] 735 +       View(v) => v.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:746:15
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:746:9
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 746 -         Query(ref query) => format!(
[INFO] [stdout] 746 +         Query(query) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:751:20
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:751:9
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 751 -         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 751 +         Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sql-fmt` (lib test) due to 48 previous errors; 10 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let mut old_inp = &mut inp;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let mut inp = t.into_inner();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:781:15
[INFO] [stdout]     |
[INFO] [stdout] 781 |           let mut old_inp = &mut inp;
[INFO] [stdout]     |               ----^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/parser.rs:778:10
[INFO] [stdout]     |
[INFO] [stdout] 778 |     let (t, limit) = match t {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:164:16
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:164:7
[INFO] [stdout]     |
[INFO] [stdout] 164 |       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 164 -       Var::Raw(ref s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout] 164 +       Var::Raw(s) | &Var::Escaped(ref s) => ctx.format_name(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 171 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 171 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 179 |       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 179 -       Some(ref schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout] 179 +       Some(schema) => format!("{}.{}", schema.format(ctx), self.name.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:256:32
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 |       CreateTableField::Column(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 256 -       CreateTableField::Column(ref c) => {
[INFO] [stdout] 256 +       CreateTableField::Column(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:265:16
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:265:11
[INFO] [stdout]     |
[INFO] [stdout] 265 |           Some(ref constraints) => format!(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 265 -           Some(ref constraints) => format!(
[INFO] [stdout] 265 +           Some(constraints) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:281:32
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 |       CreateTableField::Unique(ref c) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 281 -       CreateTableField::Unique(ref c) => {
[INFO] [stdout] 281 +       CreateTableField::Unique(c) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:292:33
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 292 |       CreateTableField::Exclude(ref e) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -       CreateTableField::Exclude(ref e) => {
[INFO] [stdout] 292 +       CreateTableField::Exclude(e) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:308:36
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                    ^^^                               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:45
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 308 |         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 308 -         (&CreateTableField::Column(ref a), &CreateTableField::Column(ref b)) => match (
[INFO] [stdout] 308 +         (&CreateTableField::Column(a), &CreateTableField::Column(b)) => match (
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 325 -         CreateTableField::Column(ref f) => f.name.len(),
[INFO] [stdout] 325 +         CreateTableField::Column(f) => f.name.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:332:34
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |                                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 332 -         CreateTableField::Column(ref f) => f.ttype.len(),
[INFO] [stdout] 332 +         CreateTableField::Column(f) => f.ttype.len(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:361:20
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:361:7
[INFO] [stdout]     |
[INFO] [stdout] 361 |       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 361 -       Limit::Count(ref expr) => expr.format(ctx),
[INFO] [stdout] 361 +       Limit::Count(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:367:46
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |                                              ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 367 -     Expression::Infix(Operator::AndLit, box (ref a, ref b)) => format!(
[INFO] [stdout] 367 +     Expression::Infix(Operator::AndLit, box (a, b)) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:499:7
[INFO] [stdout]     |
[INFO] [stdout] 499 |       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 499 -       Number::Float(ref f) => format!("{}", f),
[INFO] [stdout] 499 +       Number::Float(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:500:19
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:500:7
[INFO] [stdout]     |
[INFO] [stdout] 500 |       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 500 -       Number::Int(ref f) => format!("{}", f),
[INFO] [stdout] 500 +       Number::Int(f) => format!("{}", f),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:507:25
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |                         ^^^      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:507:7
[INFO] [stdout]     |
[INFO] [stdout] 507 |       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 507 -       Expression::Infix(ref opr, ref exprs) => format!(
[INFO] [stdout] 507 +       Expression::Infix(opr, exprs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:513:32
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:513:7
[INFO] [stdout]     |
[INFO] [stdout] 513 |       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 513 -       Expression::FunctionCall(ref fncall) => fncall.format(ctx),
[INFO] [stdout] 513 +       Expression::FunctionCall(fncall) => fncall.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:514:23
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:514:7
[INFO] [stdout]     |
[INFO] [stdout] 514 |       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 514 -       Expression::Ref(ref r) => r.format(ctx),
[INFO] [stdout] 514 +       Expression::Ref(r) => r.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:515:26
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:515:7
[INFO] [stdout]     |
[INFO] [stdout] 515 |       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 515 -       Expression::Insert(ref i) => i.format(ctx),
[INFO] [stdout] 515 +       Expression::Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:516:26
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:516:7
[INFO] [stdout]     |
[INFO] [stdout] 516 |       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 516 -       Expression::String(ref s) => s.format(ctx),
[INFO] [stdout] 516 +       Expression::String(s) => s.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:517:26
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:517:7
[INFO] [stdout]     |
[INFO] [stdout] 517 |       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 517 -       Expression::Number(ref n) => n.format(ctx),
[INFO] [stdout] 517 +       Expression::Number(n) => n.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:518:26
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:518:7
[INFO] [stdout]     |
[INFO] [stdout] 518 |       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 518 -       Expression::Select(ref sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout] 518 +       Expression::Select(sel) => format!("{}", &sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:519:24
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:519:7
[INFO] [stdout]     |
[INFO] [stdout] 519 |       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 519 -       Expression::Cast(ref cast) => cast.format(ctx),
[INFO] [stdout] 519 +       Expression::Cast(cast) => cast.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:520:23
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:520:7
[INFO] [stdout]     |
[INFO] [stdout] 520 |       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 520 -       Expression::Not(ref expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout] 520 +       Expression::Not(expr) => format!("{} {}", ctx.keyword("not"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:526:26
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:526:7
[INFO] [stdout]     |
[INFO] [stdout] 526 |       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 526 -       Expression::Exists(ref expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout] 526 +       Expression::Exists(expr) => format!("{} {}", ctx.keyword("exists"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:534:33
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:534:7
[INFO] [stdout]     |
[INFO] [stdout] 534 |       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 534 -       ExprOrDefault::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 534 +       ExprOrDefault::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:542:28
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:542:7
[INFO] [stdout]     |
[INFO] [stdout] 542 |       InsertValues::Values(ref vs) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 542 -       InsertValues::Values(ref vs) => format!(
[INFO] [stdout] 542 +       InsertValues::Values(vs) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:547:28
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:547:7
[INFO] [stdout]     |
[INFO] [stdout] 547 |       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 547 -       InsertValues::Select(ref sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout] 547 +       InsertValues::Select(sel) => format!("{}", sel.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:560:36
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:560:7
[INFO] [stdout]     |
[INFO] [stdout] 560 |       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 560 -       InsertConflictAction::Update(ref u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout] 560 +       InsertConflictAction::Update(u) => format!("{} {}", ctx.keyword("update"), u.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:624:15
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:624:7
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 624 -       Default(ref expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout] 624 +       Default(expr) => format!("{} {}", ctx.keyword("default"), expr.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:627:18
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:627:7
[INFO] [stdout]     |
[INFO] [stdout] 627 |       References(ref re) => re.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 627 -       References(ref re) => re.format(ctx),
[INFO] [stdout] 627 +       References(re) => re.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:635:29
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:635:7
[INFO] [stdout]     |
[INFO] [stdout] 635 |       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 635 -       ExprOrAll::Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 635 +       ExprOrAll::Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:675:36
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:675:7
[INFO] [stdout]     |
[INFO] [stdout] 675 |       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 675 -       CreateFunctionReturns::Table(ref create_table) => create_table.format(ctx),
[INFO] [stdout] 675 +       CreateFunctionReturns::Table(create_table) => create_table.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:676:36
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:676:7
[INFO] [stdout]     |
[INFO] [stdout] 676 |       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 676 -       CreateFunctionReturns::Ttype(ref ttype) => ttype.format(ctx),
[INFO] [stdout] 676 +       CreateFunctionReturns::Ttype(ttype) => ttype.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:677:36
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |                                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:677:7
[INFO] [stdout]     |
[INFO] [stdout] 677 |       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 677 -       CreateFunctionReturns::SetOf(ref ttype) => {
[INFO] [stdout] 677 +       CreateFunctionReturns::SetOf(ttype) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:686:22
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:686:7
[INFO] [stdout]     |
[INFO] [stdout] 686 |       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 686 -       SqlString::Raw(ref s) => format!("'{}'", s),
[INFO] [stdout] 686 +       SqlString::Raw(s) => format!("'{}'", s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:687:31
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |                               ^^^    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:687:7
[INFO] [stdout]     |
[INFO] [stdout] 687 |       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 687 -       SqlString::DollarQuoted(ref p, ref s) => format!("{}{}{}", p, s, p),
[INFO] [stdout] 687 +       SqlString::DollarQuoted(p, s) => format!("{}{}{}", p, s, p),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:696:19
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:696:7
[INFO] [stdout]     |
[INFO] [stdout] 696 |       ParsedAsDef(ref doc) => format!(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 696 -       ParsedAsDef(ref doc) => format!(
[INFO] [stdout] 696 +       ParsedAsDef(doc) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:701:16
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:701:7
[INFO] [stdout]     |
[INFO] [stdout] 701 |       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 701 -       Language(ref var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout] 701 +       Language(var) => format!("{} {}", ctx.keyword("language"), var.format(ctx)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:728:19
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:728:7
[INFO] [stdout]     |
[INFO] [stdout] 728 |       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 728 -       CreateTable(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 728 +       CreateTable(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:729:20
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:729:7
[INFO] [stdout]     |
[INFO] [stdout] 729 |       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 729 -       CreateSchema(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 729 +       CreateSchema(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:730:22
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                      ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:730:7
[INFO] [stdout]     |
[INFO] [stdout] 730 |       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 730 -       CreateFunction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 730 +       CreateFunction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:731:14
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:731:7
[INFO] [stdout]     |
[INFO] [stdout] 731 |       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 731 -       Select(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 731 +       Select(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:732:19
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:732:7
[INFO] [stdout]     |
[INFO] [stdout] 732 |       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 732 -       Transaction(ref stmt) => stmt.format(ctx),
[INFO] [stdout] 732 +       Transaction(stmt) => stmt.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:733:14
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:733:7
[INFO] [stdout]     |
[INFO] [stdout] 733 |       Return(ref ret) => ret.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 733 -       Return(ref ret) => ret.format(ctx),
[INFO] [stdout] 733 +       Return(ret) => ret.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:734:14
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:734:7
[INFO] [stdout]     |
[INFO] [stdout] 734 |       Insert(ref i) => i.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 734 -       Insert(ref i) => i.format(ctx),
[INFO] [stdout] 734 +       Insert(i) => i.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:735:12
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:735:7
[INFO] [stdout]     |
[INFO] [stdout] 735 |       View(ref v) => v.format(ctx),
[INFO] [stdout]     |       ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 735 -       View(ref v) => v.format(ctx),
[INFO] [stdout] 735 +       View(v) => v.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:746:15
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:746:9
[INFO] [stdout]     |
[INFO] [stdout] 746 |         Query(ref query) => format!(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 746 -         Query(ref query) => format!(
[INFO] [stdout] 746 +         Query(query) => format!(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/format.rs:751:20
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |                    ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/format.rs:751:9
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 751 -         Expression(ref expr) => expr.format(ctx),
[INFO] [stdout] 751 +         Expression(expr) => expr.format(ctx),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sql-fmt` (lib) due to 48 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3", kill_on_drop: false }`
[INFO] [stdout] c2661067be34c125b7009cae0937350052f0f56b71c9ff24727ccd51b08c59d3
